import {
  Entity,
  Column,
  CreateDateColumn,
  UpdateDateColumn,
  PrimaryGeneratedColumn,
} from 'typeorm';

@Entity('book')
export class Book {
  @PrimaryGeneratedColumn()
  id: number;

  // 文件名称（带后缀）
  @Column({ nullable: true })
  fileName: string;

  // 书图
  @Column({ nullable: true })
  cover: string;

  // 书名
  @Column({ nullable: false })
  title: string;

  // 作者
  @Column({ nullable: true, default: '匿名' })
  author: string;

  // 出版社
  @Column({ nullable: true, default: '未知出版社' })
  publisher: string;

  // bookid{对应的编码}
  @Column({ nullable: true, default: '未知编码' })
  bookid: string;

  // 分类码
  @Column({ nullable: true, default: '0' })
  category: number;

  // 分类名称
  @Column({ nullable: true, default: '未知分类' })
  categoryName: string;

  // 语言
  @Column({ nullable: true, default: '未知语言' })
  language: string;

  // 创建时间
  // ⏰ 创建时间：自动设置，无需手动处理
  @CreateDateColumn()
  created_at: Date;

  // 🔄 更新时间：自动更新，无需手动处理
  @UpdateDateColumn()
  updated_at: Date;
}
